package com.quanyan.place.service;

import com.quanyan.api.APIResponse;
import com.quanyan.common.Plugin.PageObj;
import com.quanyan.place.entity.*;
import com.quanyan.place.entity.apireq.ReqCity;
import com.quanyan.place.entity.apireq.ReqKeyWords;
import com.quanyan.place.entity.vo.PlaceFinanceAuditVo;
import com.quanyan.place.entity.vo.ReqBaseSearch;
import com.quanyan.place.entity.vo.ReqFinanceAuditSearch;

import java.util.List;
import java.util.Map;

/**
 * Created by yangyun on 2017/5/5.
 */
public interface FinanceService {

    List<TbBizPlaceFinanceAudit> getPlaceFinanceAuditList(ReqFinanceAuditSearch reqSearch, int pageSize, int pageNum, int totalNum);

    List<PlaceFinanceAuditVo> getPlaceFinanceAuditList(ReqFinanceAuditSearch reqSearch);


    /**
     * 插入待审核记录
     * @param tbBizPlaceFinanceAudit
     * @return
     */
    APIResponse insertToAuditRecord(TbBizPlaceFinanceAudit tbBizPlaceFinanceAudit);

    /**
     * 创建对公转账审核记录
     */
    void createAuditRecord(PlaceFinanceAuditVo placeFinanceAuditVo);

    /**
     * 根据ID获取审核记录
     *
     * @param id
     * @return
     */
    TbBizPlaceFinanceAudit getPlaceFinanceAudit(Integer id);

    void updateTbBizPlaceFinanceAudit(TbBizPlaceFinanceAudit tbBizPlaceFinanceAudit);

    int countPlaceFinanceAudit(ReqFinanceAuditSearch reqSearch);

    /**
     * 固定场通过父订单Id查询子订单
     * @param parenetId
     * @return
     */
    List<TbBizPlaceOrder> getOrdersByPrivateId(Integer parenetId);

    TbBizPlaceOrder getOrdersByOrderNo(String placeOrderId);

    public TbBizPlaceMemberOpHistory getMemberOpHistoryByOrderNo(String placeOrderId);
}
